package com.example;

import java.io.FileReader;
import java.lang.reflect.Field;

public class MyClass {

    public static void main(String arg[]) {
        System.out.println("hello world!");

//        UserBean userBean = new UserBean("张三", 11);
//        printAlias(userBean);
        orMath();
    }


    /**
     * @author jzs created 2017/5/15
     * 注解test
     * <p>
     * Java 代码从编写到运行有三个时期：
     * 代码编辑:       RetentionPolicy.SOURCE
     * 编译成 .class 文件:RetentionPolicy.CLASS
     * 读取到 JVM 运行:RetentionPolicy.RUNTIME
     * @Retention(RetentionPolicy.SOURCE)
     */

    public void AnnotationTest() {

    }

    /**
     * print alias during runtime
     */
    private static void printAlias(Object userBeanObject) {
        for (Field field : userBeanObject.getClass().getDeclaredFields()) {
            if (field.isAnnotationPresent(Alias.class)) {
                Alias alias = field.getAnnotation(Alias.class);
                System.out.println(alias.value());
            }
        }
    }

    /**
     * @author jzs created 2017/5/17
     * 或运算
     */
    private static void orMath() {
        int a = 103;
//        int b = 11;
//        a = a >>> 1;
//        System.out.println(a);
        for (int i = 0; i < 10; i++) {
            System.out.println(a + ">>>" + (a >>> 1));
            a = a + 1;
        }

        // 3
//        |是按位或操作，就是只要有一个1就是1，两个都是0才是0，如上例
//
//        35 的二进制为：00000000 00000000 00000000 00100011
//        900的二进制为：00000000 00000000 00000011 10000100
//
//                ----------------------------------------------------
//        按位或的结果：00000000 00000000 00000011 10100111
//        也就是935
    }


    private void set(String s,int a){

    }
}
